package com.bd.module.salegood.server.impl;
/**
 * 这个包用来进行后台销售数据的处理；
 */
import java.sql.SQLException;
import java.util.Vector;

import com.bd.module.salegood.dao.impl.SaleGoodDaoImpl;
import com.bd.module.salegood.pojo.GoodsDataModel;
import com.bd.module.salegood.server.SaleGoodService;
/**
 * 用来进行后台销售数据的处理接口实现类；
 */
public class SaleGoodServiceImpl implements SaleGoodService{
	private GoodsDataModel dataModel = new GoodsDataModel();     //建立table数据模型对象
	private SaleGoodDaoImpl sgdi= new SaleGoodDaoImpl();
	/*
	 * 以下方法将使用数据库来获取商品的有关信息
	 */
	private void findGoodInfo(String goodsCode) {
	boolean flag = sgdi.findGoodsByID(goodsCode);
   if(flag){
	Vector v=sgdi.getGoodsVector();
	dataModel.setInformation(v);
     }
	}
	/**
	 * 此方法将返回从数据库获取的资料
	 * @param goodsCode
	 */
	public void productData(String goodsCode) {
		// TODO Auto-generated method stub
			findGoodInfo(goodsCode);
	}
	/**
	 * 此方法将更改商品的数量
	 * @param goodsNumber
	 */
	public void alterGoodsNum(int goodsNumber) {
		// TODO Auto-generated method stub
		dataModel.setGoodsNumber(goodsNumber);
	}
	/**
	 * 此方法将返回table的数据模型
	 * @return
	 */
	public GoodsDataModel getDataModel() {
		// TODO Auto-generated method stub
		return dataModel;
	}
	/**
	 * 此方法将从table的数据模型中获取当前交易的货品总钱数的信息并进行相应的处理
	 * @return 当前购买商品总钱数的String表示
	 */
	public String getMoneyString(){
		double moneys = GoodsDataModel.getGoodsMoneys();
		return String.valueOf(Math.floor(moneys * 100.0 + 0.5)/100.0);
	}
	/**
	 * 此方法将从table的数据模型中找出当前购买的总钱数，并计算顾客付款后应找回的钱数
	 * @return 当前应找的钱数
	 */
	private String getReturnMoney(String PayMoneys){
		double moneys = GoodsDataModel.getGoodsMoneys();
		double payMoneys = Double.parseDouble(PayMoneys);
		double returnMoneys = Math.floor((payMoneys - moneys) * 100.0 + 0.5)/100.0;
		return String.valueOf(returnMoneys);
	}

}
